/**
 * 通用API响应接口定义
 */

/**
 * 基础API响应接口
 * @template T 响应数据类型
 */
export interface BaseResponse<T = any> {
  /** 响应状态码 */
  code: number;
  /** 请求是否成功 */
  success: boolean;
  /** 响应消息 */
  message: string;
  /** 响应数据 */
  data: T;
}

/**
 * 分页数据结构接口
 * @template T 列表项数据类型
 */
export interface PaginationData<T = any> {
  /** 数据列表 */
  list: T[];
  /** 总记录数 */
  total: number;
  /** 当前页码 */
  page: number;
  /** 每页大小 */
  pageSize: number;
  /** 总页数 */
  totalPages: number;
}

/**
 * 分页响应接口
 * @template T 列表项数据类型
 */
export type PaginationResponse<T = any> = BaseResponse<PaginationData<T>>;

/**
 * 简单响应接口（无数据或简单数据）
 * @template T 响应数据类型，默认为 any
 */
export type SimpleResponse<T = any> = BaseResponse<T>;
